Golang使用Travis CI对项目进行持续集成 - 初体验
基础的用法可以看看阮一峰的这篇文章持续集成服务 Travis CI 教程,这篇文章上说了一些关于Travis CI的基本使用技巧。下面这篇博客,我说说我们这个项目对Travis CI的应用
项目地址
https://github.com/zhongwq/Agenda-Golang
具体流程
我们先来说说我们的使用流程吧 首先,按照教程所说的,我们先在Travis CI完成注册,与我们的Github账户进行绑定。 我们需要在Profile中激活我们的项目
激活完成之后。我们就可以开始我们单元测试以及.travis.yml的书写了
单元测试方面,我们在这里不作细讲,有需要的同学可以去这个网站[译]GO 中如何进行单元测试看看有关的教程,我觉得这个blog写的还是十分清晰明了的。
下面我们主要说说golang如何正确书写.travis.yml文件
language: go go: - 1.8 - tip go_import_path: #/ before_install: - mv $HOME/gopath/src/github.com/zhongwq/Agenda-Golang $HOME/gopath/src script: - cd $HOME/gopath/src/Agenda-Golang - go test -v ./...
我们这次项目的.travis.yml文件如上,下面我们说一下各个部分具体的意思
language指的是我们的运行环境,go里的内容指我们需要测试的go的环境,before_install指的是安装依赖前要执行的命令,因为我们的项目是需要放在$GOPATH/src中运行的,所以这里通过mv把其转移到里面,然后就是我们的script了,这里我们打开对应的文件夹,运行我们完成的单元测试文件,执行命令go test -v ./...即可
完成之后,我们一旦提交,我们就可以前往Travis的网页查看我们项目的情况了。若是成功,我们点进我们的项目,我们就可以看到如下的信息
点击上面绿色的pass按钮,选择markdown,把下面的链接复制,粘贴到我们的README.md中
粘贴完成后,我们就可以看到README中出现了很多大的开源项目都有的标志
看起来还是有点爽的。
体会
通过在一个项目中使用Travis,一旦任何人对代码库的任何改动,都会触发我们CI服务器自动对项目进行构建,自动运行测试,甚至自动部署到测试环境。这样做的好处就是,随时发现问题,随时修复。因为修复问题的成本随着时间的推移而增长,越早发现,修复成本越低。这样就减少了很多部署、测试的成本,也一定程度上提高了我们的工作效率。